package com.whoimi.admin.entity;

import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author whoimi
 * @since 2025-07-25T17:37:40.698190600
 */

@Table (name ="sys_user",schema = "wiic_admin")
public class User implements Serializable {

    @Serial
    private static final long serialVersionUID = 535620864747092745L;

    @Id
    @Column("id")
    private Long id;

    /**
     * 用户名
     */
    @Column("username")
    private String username;

    /**
     * 昵称
     */
    @Column("nickname")
    private String nickname;

    /**
     * 性别((M-男 F-女 S-保密)
     */
    @Column("gender")
    private String gender;

    /**
     * 密码
     */
    @Column("password")
    private String password;

    /**
     * 部门ID
     */
    @Column("dept_id")
    private Integer deptId;

    /**
     * 用户头像
     */
    @Column("avatar")
    private String avatar;

    /**
     * 联系方式
     */
    @Column("mobile")
    private String mobile;

    /**
     * 状态(1-正常 0-禁用)
     */
    @Column("status")
    private Boolean status;

    /**
     * 用户邮箱
     */
    @Column("email")
    private String email;

    /**
     * 创建时间
     */
    @Column("create_time")
    private LocalDateTime createTime;

    /**
     * 创建人ID
     */
    @Column("create_by")
    private Long createBy;

    /**
     * 更新时间
     */
    @Column("update_time")
    private LocalDateTime updateTime;

    /**
     * 修改人ID
     */
    @Column("update_by")
    private Long updateBy;

    /**
     * 逻辑删除标识(0-未删除 1-已删除)
     */
    @Column("is_deleted")
    private Boolean isDeleted;

    /**
     * 微信 openid
     */
    @Column("openid")
    private String openid;

    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return this.username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getNickname() {
        return this.nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getGender() {
        return this.gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getDeptId() {
        return this.deptId;
    }

    public void setDeptId(Integer deptId) {
        this.deptId = deptId;
    }

    public String getAvatar() {
        return this.avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getMobile() {
        return this.mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Boolean getStatus() {
        return this.status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }

    public String getEmail() {
        return this.email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public LocalDateTime getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public Long getCreateBy() {
        return this.createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Long getUpdateBy() {
        return this.updateBy;
    }

    public void setUpdateBy(Long updateBy) {
        this.updateBy = updateBy;
    }

    public Boolean getIsDeleted() {
        return this.isDeleted;
    }

    public void setIsDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }

    public String getOpenid() {
        return this.openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

}
